{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3b. Calculate fO2 from melt ST for analyses from a csv file using default options\n", "\n", "This time, instead of creating a dataframe in a cell for the analysis, we'll read it in from a spreadsheet. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Python set-up\n", "You need to install VolFe once on your machine, if you haven't yet. Then we need to import a few Python packages (including VolFe)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Install VolFe on your machine. Don't remove the # from this line!\n", "# pip install VolFe # Remove the first # in this line if you have not installed VolFe on your machine before.\n", "\n", "# import python packages\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import VolFe as vf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import data\n", "\n", "We'll use the examples_marianas_wT csv in files and use all the default options again and we'll do the calculation at Pvsat (i.e., we don't know the pressure). \n", "\n", "The data in this file are from Brounce et al. (2014) and Kelley & Cottrell (2012)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Read csv to define melt composition\n", "my_analyses = pd.read_csv(\"../files/example_marianas_wT.csv\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run the calculation\n", "\n", "### Calculate only for the first row\n", "\n", "There are a few analyses in the csv. First, we will tell the function to stop after the first analysis by saying last_row=1:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sampleT ('C)H2OT-eq_wtpcCO2T-eq_ppmwST_ppmwX_ppmwP (bar) sulfS2- SCSSsulfide saturated?DFMQ-sulfide...KHOSg optKOSg optKOSg2 optKCOg optKCOHg optKOCSg optKCOs optcarbonylsulfide optdensity optDate
0TN273-01D-01-0112001.8813362.830422.089182no...Ohmoto97Ohmoto97ONeill22Ohmoto97Ohmoto97Moussallam19Holloway92COSDensityX2024-07-13 18:12:06.185911
\n", "

1 rows × 67 columns

\n", "
" ], "text/plain": [ "0 sample T ('C) H2OT-eq_wtpc CO2T-eq_ppmw ST_ppmw X_ppmw \\\n", "0 TN273-01D-01-01 1200 1.88 13 362.83 0 \n", "\n", "0 P (bar) sulf S2- SCSS sulfide saturated? DFMQ-sulfide ... KHOSg opt \\\n", "0 422.089182 no ... Ohmoto97 \n", "\n", "0 KOSg opt KOSg2 opt KCOg opt KCOHg opt KOCSg opt KCOs opt \\\n", "0 Ohmoto97 ONeill22 Ohmoto97 Ohmoto97 Moussallam19 Holloway92 \n", "\n", "0 carbonylsulfide opt density opt Date \n", "0 COS DensityX 2024-07-13 18:12:06.185911 \n", "\n", "[1 rows x 67 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# runs the calculation\n", "vf.calc_melt_S_oxybarometer(my_analyses,last_row=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculate for all rows\n", "\n", "To run all the analyses, simply don't tell it the last row you want to run. \n", "\n", "All analyses must be in consequitive rows for this to work! \n", "\n", "At the end it will show the dataframe of the full results." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# runs the calculation\n", "results = vf.calc_melt_S_oxybarometer(my_analyses)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculate for particular rows\n", "\n", "If we only want to run row 4 (Agr07-4) through 18 (AGR19-02-16) in that spreadsheet, we simply specify the first and last rows we want to run (remembering that row 2 in a spreadsheet - i.e., the first analysis under the headings - is actually row 0 in the dataframe)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "results2 = vf.calc_melt_S_oxybarometer(my_analyses,first_row=2, last_row=17)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting\n", "\n", "We can plot Pvsat vs. fO2 for all the analyses" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4500.0, 0.0)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Phxr1qxB//79MW/ePACAVqvFs88+i6VLl2LgwIEICgrCsmXLMHLkSKVxfMSIEZg2bRqef/55vPXWWwCAF154AYmJibj//vudeMVERJ7JrRcuWr58Oa5fv46FCxeivr4e48aNw8cffwx/f38lJjs7Gz4+PnjyySdx/fp1PPLII9i2bZvJaNDt27dj8eLFSu+opKQkbN261enXQ0TkibgehZW4HgUReRuuR0FERHbBREFERBYxURARkUVMFEREZBETBRERWcREQUREFjFREBGRRUwURERkERMFERFZxERBREQWMVEQEZFFTBRERGQREwUREVnEREFERBYxURARkUVMFEREZBETBRERWcREQUREFjFREBGRRUwURERkERMFERFZxERBREQWMVEQEZFFbpMosrKyoFKpkJ6erux7+umnoVKpTLbY2FiT9xkMBixatAjBwcEYMGAAkpKSUF1dbRJTX1+P1NRUaLVaaLVapKamoqGhwQlXRUTk+dwiURw9ehS/+93vMGrUqE7Hpk2bhpqaGmX76KOPTI6np6cjPz8fubm5OHToEK5cuYLExEQYjUYlZt68eSgrK0NBQQEKCgpQVlaG1NRUh18XEZE38HF1Aa5cuYKUlBT8/ve/x2uvvdbpuEajQVhYmNn36vV6vP322/jf//1fTJ48GQDwxz/+EZGRkfjkk0/w6KOP4ssvv0RBQQEOHz6McePGAQB+//vfY/z48fjqq69w//33O+7iiIi8gMsTxUsvvYQZM2Zg8uTJZhNFUVERQkJC8J3vfAcTJkzA66+/jpCQEADAsWPHcPPmTUydOlWJj4iIQExMDEpKSvDoo4+itLQUWq1WSRIAEBsbC61Wi5KSki4ThcFggMFgUF7r9XoAQGNjo12um4jI1drvZyJiMc6liSI3NxfHjx/H0aNHzR6fPn06fvzjHyMqKgqVlZX4f//v/2HSpEk4duwYNBoNamtr4efnh8DAQJP3hYaGora2FgBQW1urJJY7hYSEKDHmZGVl4dVXX+20PzIy0pZLJCJye01NTdBqtV0ed1miqKqqwpIlS/Dxxx+jb9++ZmPmzp2r/B0TE4OxY8ciKioK+/btQ3JycpfnFhGoVCrl9Z1/dxXT0YoVK5CRkaG8bmlpwbfffouBAwdafF9v1tjYiMjISFRVVSEgIMDVxXFb/J6sw+/JOj35nkQETU1NiIiIsBjnskRx7Ngx1NXVYcyYMco+o9GIgwcPYuvWrTAYDFCr1SbvCQ8PR1RUFE6fPg0ACAsLQ3NzM+rr601qFXV1dYiLi1NiLly40OnzL168iNDQ0C7Lp9FooNFoTPZ95zvfsfk6e6OAgAD+H9sK/J6sw+/JOt39nizVJNq5rNfTI488gvLycpSVlSnb2LFjkZKSgrKysk5JAgAuX76MqqoqhIeHAwDGjBkDX19f7N+/X4mpqalBRUWFkijGjx8PvV6Pzz77TIk5cuQI9Hq9EkNERF1zWY3C398fMTExJvsGDBiAgQMHIiYmBleuXMHq1avxxBNPIDw8HGfPnsXKlSsRHByMxx9/HEBrJnz22WexdOlSDBw4EEFBQVi2bBlGjhyp9IIaMWIEpk2bhueffx5vvfUWAOCFF15AYmIiezwREVnB5b2euqJWq1FeXo733nsPDQ0NCA8PR0JCAnbt2gV/f38lLjs7Gz4+PnjyySdx/fp1PPLII9i2bZtJjWT79u1YvHix0jsqKSkJW7dudfo1eTuNRoNXXnml0yM7MsXvyTr8nqzjjO9JJXfrF0VERL2aW4zMJiIi98VEQUREFjFREBGRRUwURERkERMF2SQnJwdDhgxB3759MWbMGBQXF1uMNxgMWLVqFaKioqDRaDB06FC88847Tiqt69j6PW3fvh2jR49G//79ER4ejp/97Ge4fPmyk0rrfAcPHsTMmTMREREBlUqFvXv33vU9Bw4cwJgxY9C3b19897vfxZtvvun4grqYrd9TXl4epkyZgkGDBiEgIADjx4/HX/7ylx6Xg4mCrLZr1y6kp6dj1apVOHHiBOLj4zF9+nScO3euy/c8+eST+Otf/4q3334bX331FXbu3Invfe97Tiy189n6PR06dAg//elP8eyzz+KLL77A+++/j6NHj+K5555zcsmd5+rVqxg9erTV3dQrKyvx2GOPIT4+HidOnMDKlSuxePFi7Nmzx8EldS1bv6eDBw9iypQp+Oijj3Ds2DEkJCRg5syZOHHiRM8KIkRWeuihh2TBggUm+773ve/JL37xC7Pxf/7zn0Wr1crly5edUTy3Yev3tH79evnud79rsm/Lli2i0+kcVkZ3AkDy8/Mtxixfvly+973vmez7+c9/LrGxsQ4smXux5nsy54EHHpBXX321R5/NGgVZpbm5GceOHTOZ0h0Apk6dipKSErPv+eCDDzB27FisW7cOgwcPxn333Ydly5bh+vXrziiyS3Tne4qLi0N1dTU++ugjiAguXLiA3bt3Y8aMGc4oskcoLS3t9J0++uij+Pzzz3Hz5k0Xlcr9tbS0oKmpCUFBQT06j9uOzCb3cunSJRiNxk4TKd45pXtHX3/9NQ4dOoS+ffsiPz8fly5dwsKFC/Htt996bTtFd76nuLg4bN++HXPnzsWNGzdw69YtJCUl4b//+7+dUWSPUFtba/Y7vXXrFi5duqTM/0amNmzYgKtXr+LJJ5/s0XlYoyCbdJxiXSxM197S0gKVSoXt27fjoYcewmOPPYaNGzdi27ZtXl2rAGz7nk6ePInFixfjl7/8JY4dO4aCggJUVlZiwYIFziiqxzD3nZrbT6127tyJ1atXY9euXWbX5LEFaxRkleDgYKjV6k6/iuvq6rqcrj08PByDBw82mcZ4xIgREBFUV1dj+PDhDi2zK3Tne8rKysLDDz+MzMxMAMCoUaMwYMAAxMfH47XXXuOvZbQuF2DuO/Xx8cHAgQNdVCr3tWvXLjz77LN4//33lQlSe4I1CrKKn58fxowZYzKlOwDs37+/y+naH374YXzzzTe4cuWKsu8f//gH+vTpA51O59Dyukp3vqdr166hTx/T/yu2T2opnIoNQOtyAR2/048//hhjx46Fr6+vi0rlnnbu3Imnn34aO3bssF87V4+awqlXyc3NFV9fX3n77bfl5MmTkp6eLgMGDJCzZ8+KiMgvfvELSU1NVeKbmppEp9PJnDlz5IsvvpADBw7I8OHD5bnnnnPVJTiFrd/Tu+++Kz4+PpKTkyNnzpyRQ4cOydixY+Whhx5y1SU4XFNTk5w4cUJOnDghAGTjxo1y4sQJ+de//iUinb+jr7/+Wvr37y8vv/yynDx5Ut5++23x9fWV3bt3u+oSnMLW72nHjh3i4+Mjv/nNb6SmpkbZGhoaelQOJgqyyW9+8xuJiooSPz8/efDBB+XAgQPKsfnz58uECRNM4r/88kuZPHmy9OvXT3Q6nWRkZMi1a9ecXGrns/V72rJlizzwwAPSr18/CQ8Pl5SUFKmurnZyqZ2nsLBQAHTa5s+fLyLmv6OioiL5wQ9+IH5+fhIdHS2//e1vnV9wJ7P1e5owYYLF+O7iNONERGQR2yiIiMgiJgoiIrKIiYKIiCxioiAiIouYKIiIyCImCiIisoiJgoiILGKiICIii5goiIjIIiYKIjt4+umnoVKpoFKp4Ovri9DQUEyZMgXvvPMOWlpalLjo6Gglrn27c4LE9uO5ubmdPuPf/u3foFKpsG3bNpP9JSUleOyxxxAYGIi+ffti5MiR2LBhA4xGo8Oul3oXJgoiO5k2bRpqampw9uxZ/PnPf0ZCQgKWLFmCxMRE3Lp1S4n71a9+hZqaGmXruJ5xZGQk3n33XZN9hw8fRm1tLQYMGGCyPz8/HxMmTIBOp0NhYSFOnTqFJUuW4PXXX8dPfvITzj5LdsH1KIjsRKPRICwsDAAwePBgPPjgg4iNjcUjjzyCbdu24bnnngMA+Pv7K3HmpKSkIDs7G1VVVYiMjAQAvPPOO0hJScF7772nxF29ehXPP/88kpKS8Lvf/U7Z/9xzzyE0NBRJSUn4v//7P8ydO9cRl0u9CGsURA40adIkjB49Gnl5eVa/JzQ0FI8++ij+8Ic/AGhdr2LXrl145plnTOI+/vhjXL58GcuWLet0jpkzZ+K+++7Dzp07e3YBRGCiIHK4733vezh79qzy+j//8z9xzz33KNuWLVs6veeZZ57Btm3bICLYvXs3hg4diu9///smMf/4xz8AtK4a2NXntscQ9QQfPRE5mHRYLzszMxNPP/208jo4OLjTe2bMmIGf//znOHjwIN55551OtYmO5+9qv5+fX/cLTtSGiYLIwb788ksMGTJEeR0cHIxhw4ZZfI+Pjw9SU1Pxyiuv4MiRI8jPz+8U077m+Jdffml2mdVTp051qoUQdQcfPRE50Keffory8nI88cQTNr/3mWeewYEDBzBr1iwEBgZ2Ov7oo48iKCgIGzZs6HTsgw8+wOnTp01qLkTdxRoFkZ0YDAbU1tbCaDTiwoULKCgoQFZWFhITE/HTn/7U5vONGDECly5dQv/+/c0eHzBgAN566y385Cc/wQsvvIC0tDQEBATgr3/9KzIzM/Hcc8/hscce6+llETFRENlLQUEBwsPD4ePjg8DAQIwePRpbtmzB/Pnz0adP9yrvAwcOtHh8zpw5KCwsxOuvv474+Hg0NjYCANauXYv//M//7NZnEnXENbOJvMiNGzcwa9YsVFVV4cCBAxg0aJCri0RegImCyMvcuHEDmzZtwvDhw7vVNkLUERMFERFZxF5PRERkERMFERFZxERBREQWMVEQEZFFTBRERGQREwUREVnEREFERBYxURARkUVMFEREZNH/B7rzJw/JLNZ9AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1) = plt.subplots(1, 1, figsize=(4,4))\n", "\n", "# Plotting data\n", "\n", "data1 = results[results['DFMQ-sulfide'] != \"\"] # all calculations\n", "data2 = results2[results2['DFMQ-sulfide'] != \"\"] # 4 to 18\n", "\n", "ax1.plot(data1['DFMQ-sulfide'],data1['P (bar) sulf'], 'ok', mfc='blue')\n", "ax1.plot(data2['DFMQ-sulfide'],data2['P (bar) sulf'], 'ok', mfc='red')\n", "\n", "ax1.set_xlabel('DFMQ')\n", "ax1.set_ylabel('P (bar)')\n", "ax1.set_ylim([4500, 0])" ] } ], "metadata": { "kernelspec": { "display_name": "volfe-dev", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.0" } }, "nbformat": 4, "nbformat_minor": 2 }